Estimating apparatus, method thereof, and computer program product therefor

ABSTRACT

An estimating apparatus configured to estimate a correct attribute value is provided. The estimating apparatus extracts feature quantities from an image including a person, calculates a first likelihood of the feature quantity for respective attribute classes; calculating second likelihoods for the respective attribute classes from the first likelihoods for the respective attribute classes; specifies the attribute class having the highest second likelihood; calculates an estimated attribute value of the specific attribute class and estimated attribute values of selected classes by using the feature quantity; and applies the second likelihood on the estimated attribute value of the specific attribute class as a weight, applies the second likelihoods on the estimated attribute values of the selected classes as a weight and add the same, and calculates a corrected attribute value of the specific attribute class.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is based upon and claims the benefit of priority fromthe prior Japanese Patent Application No. 2013-21396, filed on Feb. 6,2013; the entire contents of which are incorporated herein by reference.

FIELD

Embodiments described herein relate generally to an estimatingapparatus, a method thereof, and a computer program product therefor.

BACKGROUND

In order to estimate attribute values (ex. age, angle of facingdirection, body posture, etc.) expressed by consecutive volumes indetail from among person attributes, a large quantity of learning databelonging to attribute classes composed of areas of the attribute valuesneeds to be prepared. Therefore, if there is a small amount of learningdata, learning is enabled by roughly classifying the attribute classesand the attribute value may be estimated stably.

When the attribute value to be specified is expressed by one-dimensionalvector such as age (0 to 100 years old), an attribute value (age) of aperson is estimated by preparing a plurality of determiners configuredto determine whether it is higher or lower than a predeterminedreference age (10 years old, 20 years old, . . . 60 years old) fordetermining respective attribute classes (age class) configured todetermine a rough age of the person, adding all results of determination(likelihoods) of the respective determiners, and specifying an age classhaving the highest likelihood as a result of determination.

However, as factors of erroneous determination of age estimation, thereare cases where ages estimated by parts of the body are significantlydifferent such as “a person having a young face (30's) and gray hair(50′ S)” or “a smiley face (30's from the entire face is but 50's fromwrinkles around the mouth)”, and in such cases, a high likelihood may beoutput both for a correct age class and for an age class which is farfrom the correct age class.

In such a case, in the method of the related art, since the age of aperson is estimated by integrating all the results of determination ofthe plurality of age class determinations, there is a problem that theestimated age may be far away from a correct age.

In view of such problems described above, it is an object of theembodiment of the invention to provide an estimating apparatus capableof estimating an attribute value correctly, a method thereof, and acomputer program product therefor.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram illustrating an estimating apparatus ofEmbodiment 1;

FIG. 2 is a flowchart of the estimating apparatus;

FIG. 3 is a configuration drawing of a class;

FIG. 4 is a drawing illustrating a segment of the class;

FIG. 5 is a drawing illustrating a result of calculation of a secondlikelihood;

FIG. 6 is a block diagram illustrating an estimating apparatus ofEmbodiment 2;

FIG. 7 is a flowchart of the estimating apparatus; and

FIG. 8 is a configuration drawing of a class.

DETAILED DESCRIPTION

According to embodiments, an estimating apparatus includes: an acquiringunit configured to acquire an image; a feature extracting unitconfigured to extract human features from the image; a first likelihoodcalculating unit configured to calculate first likelihoods whichindicate degrees that the feature quantity belongs to for respectiveclasses formed with segments of consecutive attribute values relating tothe person from the feature quantity; (1) a second likelihoodcalculating unit configured to calculate second likelihoods for therespective attribute classes from the first likelihoods for therespective attribute classes and (2) add the first likelihood of atarget class as the attribute class for calculating the secondlikelihood and the first likelihoods of selected classes which are theattribute classes near the target class to calculate the secondlikelihood of the target class; a specifying unit configured to specifythe attribute class having the highest second likelihood from among thesecond likelihoods for the respective attribute classes; an attributevalue calculating unit configured to calculate an estimated attributevalue of the specific attribute class and estimated attribute values ofthe selected classes when setting the specific attribute class as thetarget class respectively by using the feature quantity; and anintegrating unit configured to apply the second likelihood of thespecific attribute class on the estimated attribute value of thespecific attribute class as a weight, apply the second likelihoods ofthe selected classes on the estimated attribute values of the selectedclasses and add the same, and calculate a corrected attribute value ofthe specific attribute class.

Referring now to the drawings, an estimating apparatus 1 according toEmbodiment 1 will be described.

Embodiment 1

Referring now to FIG. 1 to FIG. 5, the estimating apparatus 1 accordingto Embodiment 1 will be described. The estimating apparatus 1 estimatesan age as an attribute value. In other words, in Embodiment 1, theestimating apparatus 1 estimates an attribute value continuing in onedirection one-dimensionally as ages.

A configuration of the estimating apparatus 1 will be described withreference to FIG. 1. FIG. 1 is a block diagram illustrating theestimating apparatus 1.

The estimating apparatus 1 includes an input unit 10, a featureextracting unit 11, a first likelihood calculating unit 12, a secondlikelihood calculating unit 13, a specifying unit 14, an attribute valuecalculating unit 15, and an integrating unit 16.

The input unit 10 includes a monitor camera configured to take image, acommunication device configured to receive image, and an acquiring unit,and is configured to acquire image in which at least the face of aperson appears.

The feature extracting unit 11 is configured to extract facial featuresfrom the image input thereto.

The first likelihood calculating unit 12 is configured to calculate afirst likelihood from the feature quantity. The first likelihood is avalue indicting how much the feature quantity applies to the respectiveattribute classes (age class, referred simply as “class”). The attributeclass includes segments of consecutive attribute values (ages).

The second likelihood calculating unit 13 is configured to calculate asecond likelihood by adding a predetermined number of the firstlikelihoods from neighbor classes in a descendent order, with respect tothe first likelihoods of the respective classes.

The specifying unit 14 is configured to determine a class having thehighest second likelihood from the second likelihoods of the respectiveclasses.

The attribute value calculating unit 15 is configured to calculate anestimated age from the class specified by the specifying unit 14 and thefeature quantity.

The integrating unit 16 is configured to calculate a corrected age ofthe face of a person appeared in an input image by applying the secondlikelihoods of the respective classes to the respective estimated agescalculated by the attribute value calculating unit 15 as weights andadding the same.

Subsequently, an operation of the estimating apparatus 1 will bedescribed with reference to a flowchart in FIG. 2.

In Step S1, the input unit 10 inputs image by using the monitor cameraor the communication device configured to receive the image.

In Step S2, the feature extracting unit 11 extracts the feature quantityfrom the image input from the input unit 10.

The feature extracting unit 11 cuts out a face area from the image as afirst process, corrects a facing direction in the face area as a secondprocess, and extracts the feature quantity (luminance, edge information,etc.) from the corrected face area as a third process. For example, asthe feature quantity of the edge information, a vector using aco-occurrence relationship of the direction of luminance gradient isused.

In Step S3, the first likelihood calculating unit 12 calculates a “firstlikelihood S” indicating the degree that the feature quantity belongs tothe respective classes including the consecutive age segments (how muchthe feature quantity belongs to).

As illustrated in FIG. 3, a class i is classified into 17 classesincluding “age 0-4”, “age 2-6”, “age 5-9”, “age 7-11”, “age 10-14”, “age12-16”, “age 15-19”, “age 17-24”, “age 20-29”, “age 25-34”, “age 30-39”,“age 35-44”, “age 40-49”, “age 45-54”, “age 50-59”, “age 55-64”, and“age 60 and over”. In FIG. 3, ages included in the class are expressedas “Positive” and if the age is not included in the class, “Negative” isdisplayed.

The first likelihood calculating unit 12 includes discriminators 12-1 to12-17 for the respective classes i for calculating a first likelihood Sifor the respective classes i. The discriminators 12-1 to 12-7 for therespective classes are configured by using methods such as SupportVector Machine (SVM), a neural network, a k-neighborhood determiner, andBayes classification. In the following description, the first likelihoodS is within a range of degree of similarity from 0 to 1, and objects tobe compared are determined to be more similar as the first likelihood Sgets closer to “1”. The same applies to the second likelihood. When thefirst likelihood and the second likelihood are both expressed bydistances, the smaller the distance, the more the objects are similar.However, in this specification, in order to unify the description of“large (high)” and “small (low)”, it is defined that the higher thefirst likelihood, the larger the degree of belonging to the attributeclass becomes. The same applies to the second likelihood.

The discriminator 12-1 calculates a first likelihood S1 of the featurequantity belonging to the class 1 (age 0-4), the discriminator 12-2calculates a first likelihood S2 of the feature quantity belonging tothe class 2 (age 2-6) and so forth in the same manner, and thediscriminator 12-17 calculates the first likelihood S17 of the featurequantity belonging to the class 17 (age 60-100).

In order to estimate the ages finely for the first likelihoodcalculating unit 12, gaps between the classes are preferably set to besmall. However, if the learning data belonging to each class is reduced,the accuracy of estimation for each class is lowered. Therefore, inorder to reduce the gap between the classes without reducing the amountof learning data of the respective classes, the ages included in theclasses are overlapped with each other. More specifically, asillustrated in FIG. 4, the age ranges which constitute the respectiveclasses are configured to overlap with at least two adjacent classes.

The classes for early ages (up to early 20's) are configured withsmaller age increment than the classes for young ages or older (fromlate 20's onward). The reason is that the tendency with timesignificantly changes during growth phase and hence it is effective toconfigure the classes with a smaller age range. However, the age rangeis not limited as described above, and a given age range may beemployed.

In Step S4, the second likelihood calculating unit 13 calculates asecond likelihood Ti by adding the weights of the predetermined N firstlikelihoods from neighbor classes in a descendent order to the firstlikelihoods Si of the respective classes i calculated by the firstlikelihood calculating unit 12 as illustrated in FIG. 5.

In the case of N=2, two attribute classes having large first likelihoodcentered on a class whose second likelihood Ti is wanted (hereinafter,referred to as a “target class” are selected. The selected attributeclasses are referred to as “selected classes”, hereinafter. For example,the second likelihood calculating unit 13 selects classes i−1 and i+1adjacently before and after the target class as the selected classes.

Then, as shown by Expression (1), the second likelihood calculating unit13 calculates the second likelihood Ti by applying a weight for concernon the first likelihood Si of the target class i, and applying a weightfor selection on the first likelihoods Si−1 and Si+1 of the selectedclasses. For example, N=2 is used as the weight for concern, and “1” isused as the weight for selection.

T ₁ =S _(i−1)+2×S ₁ +S _(i+1)  (1)

When N=3, the second likelihood calculating unit 13 calculates thesecond likelihood Ti by selecting the classes i−2, i−1 and i+1 as theselected class centered on the target class i from the class having ahigh first likelihood S in a descending order, applying a weight forconcern on the first likelihood Si, and applying a weight for selectionon the first likelihoods Si−2, Si−1 and Si+1. In this case, for example,N=3 is used as the weight for concern, and “1” is used as the weight forselection.

When N=4, the second likelihood calculating unit 13 calculates thesecond likelihood Ti by selecting the classes i−2, i−1, i+1, and i+2 asthe selected class centered on the target class i in a descending orderfrom the class having a high first likelihood S, applying a weight forconcern on the first likelihood Si, and applying a weight for selectionon the first likelihoods Si−2, Si−i, Si+1, and Si+2. For example, N=4 isused as the weight for concern, and “1” is used as the weight forselection.

When the class 1 is a target class, there is no class before. Therefore,the second likelihood T1 of the class 1 may be calculated by using thefirst likelihoods S2 and S3 of the subsequent class 2 or 3 or the firstlikelihood S1 of the class 1 may be used as the second likelihood T1(=S1) as is. The same process is applied to the class 17.

Since the change with time is significantly great in the ages of growthphase and hence the characteristic of how the face looks issignificantly different even among the classes nearby. Therefore, thevalues of N for early ages (up to early 20's) are set to small valuesand the values of N for young ages or older (from late 20's onward) areset to large values.

The range of selection of the selected classes is located near thetarget class and, more specifically, the range from the target class(number of classes) is determined in advance. For example, in the casewhere the number of classes is 17, the range to be selected is theadjacent classes, for example, two classes to three classes, and in acase where the number of classes is 100, classes 4 to 10 classes apartmay be included in the range.

Also, the selected classes may not be classes consecutive from thetarget class if the classes are selected from the one having a highlikelihood in the descendent order, and may be selected by one to threeclasses skipped.

The weights for concern are always set to be weights larger than theweights for selection.

The age ranges for configuring respective classes are overlapped so asto include the age ranges of the adjacent before and after classes.Therefore, the first likelihoods of the adjacent classes also tend toincrease in addition to the first likelihood of the correct class.Therefore, the second likelihood calculating unit 13 adds the firstlikelihood of one class and adjacent classes as the second likelihood.More specifically, the second likelihood calculating unit 13 isconfigured not to determine whether or not the class is correct only onthe basis of the first likelihood of the one class (hereinafter, thisone class is referred to as “pseudo correct solution class”), but todetermine that the pseudo correct solution class is a real correct classwhen the first likelihoods of the selected classes adjacent to thepseudo correct solution class are also high, whereby the stability ofthe solution is improved.

In Step S5, the specifying unit 14 specifies the class having thehighest second likelihood Ti as shown in expression (2).

$\begin{matrix}{{{Class}\mspace{14mu} i} = {\arg \mspace{11mu} {\underset{{i = 1},\ldots \mspace{14mu},17}{Max}\left\lbrack T_{i} \right\rbrack}}} & (2)\end{matrix}$

The subsequent description will be given on the assumption that thespecifying unit 14 has specified the class 10 for 25 to 34 years old.

In Step S6, the attribute value calculating unit 15 calculates anestimated age from the feature quantity extracted by the featureextracting unit 11. For this estimation, the attribute value calculatingunit 15 includes 17 age estimating units (hereinafter, simply referredto as “estimating unit”) 15-1 to 15-17, and these estimating units 15-1to 15-17 are configured for the same age ranges as the class of thediscriminators 12-1 to 12-17 of the first likelihood calculating unit12. More specifically, in order to estimate the age by consecutivevalues (unit of 1 year old), the attribute value calculating unit 15includes the estimating unit 15-1 for “age 0-4”, the estimating unit15-2 for “age 2-6”, the estimating unit 15-3 for “age 5-9” and, in thesame manner, the estimating unit for “age 7-11”, “10-14”, and theestimating units 15-4 to 15-17 for “age 12-16”, “age 15-19”, “age17-24”, “age 20-29”, “age 25-34”, “age 30-39”, “age 35-44”, “age 40-49”,“age 45-54”, “age 50-59”, “age 55-64”, and “age 60 and over”,respectively. The respective estimating units 15-1 to 15-17 employ themethod such as Support Vector Regression (SVR). Other methods may beemployed. For example, the neural network, the k-neighborhooddiscriminator, a mixture Gaussian distribution (GMM) classifier may beemployed.

The attribute value calculating unit 15 calculates an estimated age Vifrom the feature quantity by using the estimating unit corresponding tothe class i specified by the specifying unit 14, and calculatesestimated ages Vi−1 and Vi+1 by using the estimating units of theselected classes (i−1) and (i+1) corresponding to the specific classfrom the feature quantity. The selected classes are the selected classesin the second likelihood calculating unit 13, and mean the selectedclasses when the specific class is the target class.

When the classes specified by the specifying unit 14 is the class 10 forthe age 25-34, the attribute value calculating unit 15 may calculate asan estimated age V9 (for example 27.9 years old), V10 (for example, 29.5years old), and V11 (for example, 31.1 years old) from the featurequantity by using the estimating unit 15-9 for “age 20-29”, theestimating unit 15-10 for “age 25-34”, and the estimating unit 15-11 for“age 30-39”.

In Step S7, as shown by Expression (3), the integrating unit 16calculates a corrected age Value of the person in the input image byapplying the second likelihoods Ti−1, Ti, and Ti+1 calculated by thesecond likelihood calculating unit 13 on the estimated age Vi−1, Vi, andVi+1 calculated by the respective estimating units of the attributevalue calculating unit 15, and adding the same.

Value=T _(i−1) ×V _(i−1) +T _(i) ×V _(i) +T _(i+1) ×V _(i+1)  (3)

The integrating unit 16 does not use the second likelihoods Ti−1, Ti,and Ti+1 not as-is, but normalizes the same so that the sum of Ti−1, Ti,and Ti+1 becomes “1”.

For example, in the case of the example given above, the calculationwill be 0.2×27.9 years old+0.7×29.5 years old+0.1×31.1 yearsold=corrected age 29.34.

In Embodiment 1, even though the first likelihood of the correct classand the first likelihood of the erroneous class away from the correctclass are both high, the first likelihood of the selected class near theerroneous class has a low first likelihood. In other words, the selectedclass near the correct class outputs a high first likelihood. Therefore,the corrected age close to the correct age may be calculated by addingthe first likelihood of the selected class nearby and specifying thecorrect class.

Modifications of Embodiment 1 will be described.

A first modification will be described. The first likelihood and thesecond likelihood are within a range from 0 to 1, and objects to becompared are determined to be more similar as the likelihoods getscloser to “1”. However, a configuration in which the smaller the firstlikelihood and the second likelihood, the more the objects to becompared are similar may be employed. For example, the distance of theobjects to be compared may be used for the first likelihood and thesecond likelihood.

A second modification will be described. The first likelihoodcalculating unit 12 may be configured to use discriminators preparedseparately for attributes such as sexes, races, makeup, illuminationenvironment, and switch the discriminators to a discriminator of theclass which matches the attributes such as the sexes, the races, and themakeup, with using an attribute determination process (the sexes, theraces, the makeup, or the like), at the time of estimating the age.

Embodiment 2

Referring now to FIG. 6 to FIG. 8, an estimating apparatus 100 accordingto Embodiment 2 will be described. The attribute value of Embodiment 2is an angle of facing direction. Embodiment 2 is different fromEmbodiment 1 in that although the attribute value of the one-dimensionalvector such as the age is estimated in Embodiment 1, an attribute valueof a two-dimensional vector such as the angle of facing direction isestimated in Embodiment 2.

The estimating apparatus 100 includes, as illustrated in FIG. 6, aninput unit 110, a feature extracting unit 111, a first likelihoodcalculating unit 112, a second likelihood calculating unit 113, aspecifying unit 114, an attribute value calculating unit 115, and anintegrating unit 116.

Referring now to a flowchart in FIG. 7, the operation of the estimatingapparatus 100 of Embodiment 2 will be described. Description on the sameconfiguration and the operation as the estimating apparatus 1 ofEmbodiment 1 will be omitted.

In Step S11, the input unit 110 inputs image in which a face of a personappears by using the monitor camera or the communication deviceconfigured to receive the image.

In Step S12, the feature extracting unit 111 extracts the featurequantity of the face from the image input from the input unit 110.

In Step S13, the first likelihood calculating unit 112 calculates afirst likelihood S(i, j) which indicates how much the feature quantitybelongs to the respective facing direction range classes (hereinafter,referred to simply as “class”) (i, j) composed of two-dimensionalvectors (vertical and lateral angle regions) as illustrated in FIG. 8.The position of the class is specified by i and j, and there are 49classes in total as illustrated in FIG. 8.

Therefore, the first likelihood calculating unit 112 includesdiscriminators 112-1 to 112-49 for the respective classes configured atintervals of 15° for a face direction range of 45° in the verticaldirection and 90° in the lateral direction for calculating the firstlikelihood of the feature quantity. The discriminators 112-1 to 112-49for the respective classes are configured by using methods such as theSupport Vector Machine (SVM), the neural network, the k-neighborhooddeterminer, and the Bayes classification.

Although the gap between the classes is preferably set to be small inorder to estimate the angle of facing direction at small angleincrement, if the learning data belonging to each class is reduced, theaccuracy of estimation for each class is lowered. Therefore, in order toreduce the gap between the classes without reducing the amount oflearning data of the respective classes, the angles included in theclasses are overlapped with each other in the same manner asEmbodiment 1. However, the range of the angle of facing direction is notlimited, and a given range of angle of facing direction may be employed.

In Step S14, the second likelihood calculating unit 113 calculates thesecond likelihood by adding the predetermined N first likelihoods fromneighbor classes in a descendent order to the first likelihoods of therespective classes calculated by the first likelihood calculating unit112.

In the case of N=4, four selected classes having large first likelihoodcentered on a target class whose second likelihood Ti is wanted areselected. The reason why four selected classes are selected is that theattribute value is expressed by two-dimensional consecutive values,which are angles of facing direction (45° in the vertical direction and90° in the lateral direction). In other words, as shown by Expression(4), the second likelihood calculating unit 113 obtains a secondlikelihood T(i, j) by applying a weight for concern on the firstlikelihood of the target class, and applying a weight for selection onthe first likelihoods of the selected classes (four classes) in thevertical and lateral directions. For example, N=4 is used as the weightfor concern, and “1” is used as the weight for selection.

t(i,j)=S _((i,j−1)) +S _((i−1,j))+4×S _((i,j)) +S _((i+1,j)) +S_((i,j+1))  (4)

When the angle of facing direction is larger than the angle of the facefacing the front, the characteristic of how the face looks issignificantly different even among the selection classes nearby.Therefore, the values of N of the class in which the angle of facingdirection is large are set to small values, and the values of N of theclass in which the angle of facing direction is close to the angle ofthe face facing the front are set to large values.

Since the angles of facing direction classified into the respectiveclasses are overlapped so as to include the angles of facing directionof the classes adjacent to the vertical direction and the lateraldirection, the first likelihoods of the adjacent selected classes arealso tend to increase in addition to the first likelihood of the correctclass. In other words, the second likelihood calculating unit 113 isconfigured not to determine whether or not the class is correct only onthe basis of the first likelihood of the one class (hereinafter, thisone class is referred to as “pseudo correct solution class”), but todetermine that the pseudo correct solution class is a real correct classwhen the first likelihoods of the selected classes adjacent to thepseudo correct solution class, are also high, whereby the stability ofthe solution is improved.

In Step S15, the specifying unit 114 specifies a class having thehighest second likelihood as shown in Expression (5).

$\begin{matrix}{{{Class}\mspace{14mu} \left( {i,j} \right)} = {\arg \mspace{11mu} {\underset{i,j}{Max}\left\lbrack T_{({i,j})} \right\rbrack}}} & (5)\end{matrix}$

In Step S16, the attribute value calculating unit 115 calculates anestimated facing direction from the feature quantity extracted by thefeature extracting unit 111. For this calculation, the attribute valuecalculating unit 115 includes 49 angle of facing direction estimatingunits (hereinafter, simply referred to as “estimating unit”) 115-1 to115-49, and these estimating units 115-1 to 115-49 are configured forthe same angle of facing direction ranges as the classes of thediscriminators 112-1 to 112-49 of the first likelihood calculating unit112. The respective estimating units 115-1 to 115-49 employ the methodsuch as the Support Vector Regression (SVR). Other methods may beemployed. For example, the neural network, the k-neighborhooddiscriminator, the mixture Gaussian distribution (GMM) classifier may beemployed.

The attribute value calculating unit 115 calculates an estimated angleof facing direction V(i, j) from the feature quantity by using theestimating unit corresponding to the class i specified by the specifyingunit 114, and calculates estimated angles of facing directions V(i,j−1),V(i−1,j), V(i+1,j), and V(i,j+1) by using the estimating units of theselected classes (i,j−1), (i−1,j), (i+1,j), and (i,j+1) adjacent theretobefore and after thereof from the feature quantity. The selected classesare the selected classes when the specific class is the target class.

In Step S17, the integrating unit 116 calculates the corrected angle offacing direction of the input image by applying weight on the estimatedangle of facing direction V (i, j) calculated by the attribute valuecalculating unit 115 and adding the same.

The integrating unit 116, as shown by Expression (6), calculates acorrected angle of facing direction Value of the input image by addingthe second likelihoods calculated by the second likelihood calculatingunit 113 by applying weight on the estimated angle of facing directionV(i, j) calculated by the estimating units.

Value=T _((i,j−1)) ×V _((i,j−1)) +T _((i−1,j)) ×V _((i−1,j)) +T _((i,j))×V _((i,j)) +T _((i+1,j)) ×V _((i+1,j)) +T _((i,j+1)) ×V _((i,j+1))  (6)

According to Embodiment 2, the corrected angle of facing direction,which is a correct angle of facing direction can be calculated byspecifying the correct class by adding the first likelihoods of theadjacent selected classes to the first likelihood of the specific targetclass.

A modification of Embodiment 2 will be described. The first likelihoodcalculating unit 112 may be configured to use class discriminatorsprepared separately for attributes such as sexes, races, makeup,illumination environment, and switch the discriminators to adiscriminator of the class which matches the attributes such as thesexes, the races, and the makeup, with using the attribute determinationprocess (the sexes, the races, the makeup, or the like), at the time ofestimating the angle of facing direction.

The estimating apparatuses 1 and 100 of the above-described embodimentsare each provided with a control device such as a CPU (CentralProcessing Unit), a memory unit such as a ROM or a RAM, and an externalmemory apparatus such as an HDD or an SSD, and may be realized with ahardware configuration using a normal computer. The respective portionsdescried in the respective embodiments may be realized either assoftware or hardware.

The respective embodiments described above may be applied for securityfacilities configured to acquire attribute information such as the age,the sex, or the facing direction from images of persons took by securitycameras installed in a town for specifying a person.

The respective embodiments described above may be utilized forcollection of marketing data of clients in commercial facilities ordelivery agents or digital signage (electronic signboard) which displaysadvertisements corresponding to the attributes of the individualpersons.

In the embodiments described above, description has been made with theage (one-dimensional vector) and the angle of facing direction(two-dimensional vector) as the attribute values. However, the inventionis not limited thereto, and may be handled in the same manner as thecase in which the attribute value is expressed by three or moredimensional vectors (for example, body posture information).

While certain embodiments have been described, these embodiments havebeen presented by way of example only, and are not intended to limit thescope of the inventions. Indeed, the novel embodiments described hereinmay be embodied in a variety of other forms; furthermore, variousomissions, substitutions and changes in the form of the embodimentsdescribed herein may be made without departing from the spirit of theinventions. The accompanying claims and their equivalents are intendedto cover such forms or modifications as would fall within the scope andspirit of the inventions.

What is claimed is:
 1. An estimating apparatus comprising: an acquiringunit configured to acquire an image; a feature extracting unitconfigured to extract human features from the image; a first likelihoodcalculating unit configured to calculate, from the feature quantity offirst likelihoods which indicate degrees that the feature quantitybelongs to for respective attribute classes formed with segments ofconsecutive attribute values relating to the person; (1) a secondlikelihood calculating unit configured to calculate second likelihoodsfor the respective attribute classes from the first likelihoods for therespective attribute classes and (2) add the first likelihood of atarget class as the attribute class for calculating the secondlikelihood and the first likelihoods of selected classes which are theattribute classes near the target class to calculate the secondlikelihood of the target class; a specifying unit configured to specifythe attribute class having the highest second likelihood from among thesecond likelihoods for the respective attribute classes; an attributevalue calculating unit configured to calculate an estimated attributevalue of the specific attribute class and estimated attribute values ofthe selected classes when setting the specific attribute class as thetarget class respectively by using the feature quantity; and anintegrating unit configured to apply the second likelihood of thespecific attribute class on the estimated attribute value of thespecific attribute class as a weight, apply the second likelihoods ofthe selected classes on the estimated attribute values of the selectedclasses as a weight and add the same, and calculate a correctedattribute value of the specific attribute class.
 2. The apparatusaccording to claim 1, wherein the second likelihood calculating unitincludes a weight for concern for the first likelihood of the targetclass and a weight for selection for the first likelihoods of theselected classes, is configured to set the weight for concern to belarger than the weight for selection, and apply the weight for concernon the first likelihood of the target class and apply the weight forselection on the first likelihoods of the selected classes and add thesame to obtain the second likelihood.
 3. The apparatus according toclaim 1, wherein the second likelihood calculating unit selects apredetermined number of selected classes.
 4. The apparatus according toclaim 1, wherein the second likelihood calculating unit selects theselected classes from the attribute class having the high firstlikelihood in a descendent order.
 5. The apparatus according to claim 1,wherein the second likelihood calculating unit selects the selectedclasses from among the attribute classes which may be within apredetermined range from the target class.
 6. The apparatus according toclaim 1, wherein the first likelihood calculating unit selects theselected classes consecutively or 1 to 10 classes apart from the targetclass.
 7. The apparatus according to claim 1, wherein the firstlikelihood calculating unit includes the attribute values included inthe attribute class are also included in the adjacent attribute classes.8. The apparatus according to claim 1, wherein the attribute value is anage or an angle of facing direction of the person.
 9. An estimatingmethod comprising: acquiring an image; extracting human features fromthe image; calculating, from the feature quantity of first likelihoodswhich indicate degrees that the feature quantity belongs to forrespective classes formed with segments of a continuous attribute valuerelating to the person; (1) calculating second likelihoods for therespective attribute classes from the first likelihoods for therespective attribute classes and (2) adding the first likelihood of atarget class as the attribute class for calculating the secondlikelihood and the first likelihoods of selected classes which are theattribute classes near the target class to calculate the secondlikelihood of the target class; specifying the attribute class havingthe highest second likelihood from among the second likelihoods for therespective attribute classes; calculating an estimated attribute valueof the specific attribute class and estimated attribute values of theselected classes when setting the specific attribute class as the targetclass respectively by using the feature quantity; and applying thesecond likelihood of the specific attribute class on the estimatedattribute value of the specific attribute class as a weight, applyingthe second likelihoods of the selected classes on the estimatedattribute values of the selected classes as a weight and add the same,and calculating a corrected attribute value of the specific attributeclass.
 10. A computer program product comprising a computer-readablemedium containing a program executed by a computer, the program causingthe computer to execute: an acquiring function configured to acquire animage including a person; a feature extracting function configured toextract human features from the image; a first likelihood calculatingfunction configured to calculate first likelihoods which indicatedegrees that the feature quantity belongs to for respective classesformed with segments of a continuous attribute value relating to theperson; (1) a second likelihood calculating function configured tocalculate second likelihoods for the respective attribute classes fromthe first likelihoods for the respective attribute classes and (2) addthe first likelihood of a target class as the attribute class forcalculating the second likelihood and the first likelihoods of selectedclasses which are the attribute classes near the target class tocalculate the second likelihood of the target class; a specifyingfunction configured to specify the attribute class having the highestsecond likelihood from among the second likelihoods for the respectiveattribute classes; an attribute value calculating function configured tocalculate an estimated attribute value of the specific attribute classand estimated attribute values of the selected classes when setting thespecific attribute class as the target class respectively by using thefeature quantity; and an integrating function configured to apply thesecond likelihood of the specific attribute class on the estimatedattribute value of the specific attribute class as a weight, apply thesecond likelihoods of the selected classes on the estimated attributevalues of the selected classes as a weight and add the same, andcalculate a corrected attribute value of the specific attribute class.